package com.gopay.common.security.SensitiveInfo.manager;

import java.util.List;

import com.gopay.common.cipher.constants.EncryptType;
import com.gopay.common.domain.sensitiveInfo.SecurityKeysStorage;

/**
 * 
 * @ClassName: SecurityKeysStorageManager 
 * @Description: 安全密钥存储操作类 
 * @author zyt
 * @date 2016年9月2日 下午3:25:20
 */
public interface SecurityKeysStorageManager {

	/**
	 * 
	 * @Description: 获取当前正在使用的密钥 
	 * @return 
	 * @author zyt
	 */
	SecurityKeysStorage getCurrentKey();
	
	/**
	 * 
	 * @Description: 		根据加密方式和版本号获取密钥 
	 * @param encryptType	加密方式
	 * @param keyVersion	版本号
	 * @return 				密钥
	 * @author zyt
	 */
	SecurityKeysStorage getKeyByTypeAndVersion(EncryptType encryptType, String keyVersion);
	
	/**
	 * 
	 * @Description: 	获取存储的所有key 
	 * @return 			所有key
	 * @author zyt
	 */
	List<SecurityKeysStorage> getAllKeys();
	
}
